package br.com.foxinline.manager.iptu;

import br.com.foxinline.modelo.ConfigIptu;
import br.com.foxinline.servico.ConfigIptuServico;
import br.com.foxinline.servico.DadosIptuServico;
import br.com.foxinline.servico.ImovelServico;
import br.com.foxinline.servico.IptuServico;
import br.com.foxinline.util.Msg;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author roniere
 */
@ManagedBean
@ViewScoped
public class ManagerConfigIptu implements Serializable {

    @EJB
    private ImovelServico imovelService;
    @EJB
    private IptuServico iptuService;
    @EJB
    private DadosIptuServico dadosIptuService;
    @EJB
    private ConfigIptuServico configIptuService;
    private ConfigIptu configIptu;

    @PostConstruct
    public void init() {

        List<ConfigIptu> list = configIptuService.findAll();

        if (list.isEmpty()) {
            this.configIptu = new ConfigIptu();
        } else {
            this.configIptu = list.get(list.size() - 1);
        }
    }

    public ConfigIptu getConfigIptu() {
        return configIptu;
    }

    public void setConfigIptu(ConfigIptu configIptu) {
        this.configIptu = configIptu;
    }

    public void salvar() {
        try {

            if (configIptu.getId() == null) {

                this.configIptuService.save(configIptu);
                configIptu = new ConfigIptu();
                Msg.messagemInfo(Msg.SuccessFull);

            } else {

                this.configIptuService.update(configIptu);
                Msg.messagemInfo(Msg.SuccessFull);
            }

            init();
        } catch (Exception e) {

            System.err.println(e);
            Msg.messagemError(Msg.Failure);
        }
    }
}
